LDRA Testbed ® Code Review Report

Group : PVM-xdr






Overall Result: FAIL






Report Production Report Configuration Analysis phases
  • C/C++ LDRA Testbed Version: 8.1.0
  • Config. File: C:\Testbed_CCPP_810\c\creport.dat
  • Produced On: Fri Sep 04 2009 at 15:21:38
  • Penalty File: C:\Testbed_CCPP_810\c\cpen.dat
  • Report Level: Summary Report
  • Procedures Reported: Fails Only
  • Programming Standards Model: CERT
  • Line Numbers refer to: Original Source File
  • Violation Details: Violations Only
  • Reporting Scope: Full analysis scope
  • Static: Yes
  • Complexity: No
  • Static Data Flow: No
  • Information Flow: No
  • Cross Reference: No


Contents

Overall Quality Summary
Report on Program Components
Key to Terms





Overall Quality Summary



Totals of Violations for Selected Quality Standards

'-' indicates required Analysis Phase results are not yet available.
'Off' indicates that the standard is switched off in the Penalty File (<lang>pen.dat).
'MR'indicates that the standard is Misra Restricted.

Number of Violations LDRA Code (M) Mandatory Standards CERT Code
11
9 S CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
0
20 S CERT DCL31-C
2
30 S CERT EXP30-C,EXP31-C
-
5 D CERT EXP33-C
0
39 S CERT FLP30-C
0
43 S CERT ENV33-C,SIG32-C
0
47 S CERT ARR30-C
3
71 S CERT DCL30-C,MEM36-C
1
86 S CERT ERR31-C
10
93 S CERT INT01-C,INT02-C,INT07-C
11
94 S CERT EXP11-C,EXP36-C,INT11-C
8
98 S CERT EXP37-C
-
17 D CERT DCL32-C
-
19 D CERT EXP37-C
-
20 D CERT DCL31-C,ERR30-C
-
24 D CERT DCL31-C
-
1 X CERT ARR31-C
0
134 S CERT EXP10-C,EXP30-C
-
35 D CERT EXP02-C,EXP10-C,EXP30-C
0
1 Q CERT EXP02-C,EXP10-C,EXP30-C
3
157 S CERT STR05-C,STR30-C
12
170 S CERT DCL07-C,EXP37-C
-
41 D CERT EXP37-C
-
42 D CERT DCL30-C
-
43 D CERT INT32-C,INT33-C
0
248 S CERT INT33-C
-
45 D CERT EXP08-C,EXP34-C
-
49 D CERT FIO42-C
1
326 S CERT DCL31-C
0
344 S CERT EXP32-C
-
51 D CERT MEM30-C
0
355 S CERT DCL32-C
0
403 S CERT INT34-C
8
433 S CERT INT02-C,INT31-C
6
434 S CERT INT02-C,INT31-C,STR34-C
0
442 S CERT INT02-C,FLP33-C
0
443 S CERT INT02-C,FLP33-C
0
444 S CERT FLP33-C
0
456 S CERT MSC31-C
-
57 D CERT EXP33-C
0
476 S CERT ARR30-C
0
480 S CERT DCL33-C
2
483 S CERT MEM34-C
0
484 S CERT MEM31-C
0
487 S CERT MEM35-C
0
489 S CERT DCL33-C,FIO43-C
0
493 S CERT INT32-C
0
494 S CERT INT32-C
7
496 S CERT EXP37-C
-
61 X CERT DCL32-C

Number of Violations LDRA Code (M) Mandatory Standards CERT Code
-
64 X CERT ARR30-C
-
69 D CERT EXP33-C
2
562 S Use of ++,-- or = in macro parameters. CERT PRE31-C
-
75 D CERT FIO31-C
-
68 X CERT DCL00-C
-
69 X CERT ARR30-C
0
573 S Macro concatenation of uni char names. CERT PRE30-C
0
575 S Linkage differs from previous declaration. CERT DCL36-C
0
576 S Function pointer is of wrong type. CERT DCL35-C,EXP08-C


Number of Violations LDRA Code (C) Checking (Mandatory) Standards CERT Code

No Standards have been set as Checking.

Number of Violations LDRA Code (O) Optional Standards CERT Code
0
5 S CERT MSC03-C
20 12 S CERT MSC01-C
4 21 S CERT DCL07-C
-
1 D CERT MSC13-C
-
4 D CERT MSC13-C
-
7 D CERT MSC13-C
-
8 D CERT MSC08-C
-
15 D CERT MSC13-C
0
41 S CERT DCL10-C,DCL11-C
8 44 S CERT DCL03-C,INT06-C
3 50 S CERT INT13-C
0
52 S CERT INT02-C
0
54 S CERT EXP06-C
0
57 S CERT MSC03-C,MSC12-C
0
58 S CERT MSC03-C
0
59 S CERT MSC03-C
0
73 S CERT INT12-C
17 79 S CERT PRE03-C
0
81 S CERT PRE07-C
0
85 S CERT INT09-C
10 95 S CERT EXP11-C
0
99 S CERT MSC02-C
0
101 S CERT INT02-C
-
27 D CERT DCL15-C
3 113 S CERT MSC09-C
9 77 S CERT PRE02-C
18 78 S CERT PRE01-C,PRE02-C
58 96 S CERT INT02-C
0
115 S CERT STR03-C
0
119 S CERT MSC04-C
3 120 S CERT INT13-C
0
125 S CERT PRE05-C
0
131 S CERT DCL01-C
4 132 S CERT MSC02-C
0
133 S CERT EXP02-C
27 135 S CERT DCL07-C
2 139 S CERT MSC07-C
0
140 S CERT MSC07-C
0
176 S CERT MSC10-C
1 177 S CERT DCL04-C
6 200 S CERT DCL00-C
87 201 S CERT DCL06-C,EXP07-C,EXP09-C
0
203 S CERT EXP05-C
3 218 S CERT PRE04-C
0
243 S CERT PRE06-C
97 273 S CERT PRE03-C
0
299 S CERT DCL05-C
0
1 J CERT MSC07-C
13 302 S CERT MSC04-C
0
329 S CERT INT07-C

Number of Violations LDRA Code (O) Optional Standards CERT Code
3 331 S CERT INT13-C
0
332 S CERT INT02-C
0
334 S CERT INT02-C
22 340 S CERT PRE00-C
0
352 S CERT DCL12-C
-
50 D CERT MEM00-C
8 361 S CERT EXP00-C
0
376 S CERT MSC10-C
5 381 S CERT DCL05-C
0
382 S CERT EXP12-C
-
53 D CERT EXP08-C
0
387 S CERT DCL08-C
12 400 S CERT EXP03-C
0
401 S CERT ARR00-C
0
406 S CERT EXP02-C
-
54 D CERT EXP08-C
0
408 S CERT EXP02-C
0
432 S CERT INT07-C
0
438 S CERT EXP08-C
1 439 S CERT INT15-C
2 440 S CERT INT15-C
0
446 S CERT INT02-C
0
452 S CERT INT02-C
0
457 S CERT INT02-C
2 458 S CERT INT02-C,INT07-C
0
486 S CERT FIO00-C
0
488 S CERT INT08-C
0
491 S CERT INT02-C
-
61 D CERT DCL15-C
-
62 D CERT DCL13-C
0
515 S CERT DCL04-C
-
65 D CERT MSC12-C
-
70 D CERT MSC12-C
0
553 S Function and proto should both be static. CERT DCL15-C
-
72 D CERT EXP10-C
-
67 X CERT DCL02-C
-
74 D CERT EXP10-C
0
568 S #include "filename" uses standard library name. CERT PRE04-C
0
577 S Sizeof argument is a pointer. CERT EXP01-C
8 578 S Sizeof used in arithmetic expression. CERT EXP03-C
-
78 D CERT DCL00-C
0
584 S Remainder of % op could be negative. CERT INT10-C
1 585 S Bitwise and arith operations on same data. CERT INT14-C
0
586 S Format is not %j for user defined type. CERT INT15-C


Number of Mandatory Standards checked 39
Number of Checking Standards checked 0
Number of Optional Standards checked 77
Total Standards checked 116






OVERALL RESULT: FAIL




Out of 30 program components, 9 (30.00 %) pass ( of which 9 conditionally pass ) and 21 fail ( of which 0 fail only because of insufficient comments )

Procedure Results

Quality Result   Procedure   Source File   Unique Violations    
           
FAIL Global Program
Conditional Pass xdr_free xdr.c 1 -
Conditional Pass xdr_void xdr.c 2 -
Conditional Pass xdr_int xdr.c 2 -
Conditional Pass xdr_u_int xdr.c 2 -
Conditional Pass xdr_long xdr.c 2 -
FAIL xdr_u_long xdr.c 3 -
FAIL xdr_short xdr.c 2 -
FAIL xdr_u_short xdr.c 2 -
FAIL xdr_char xdr.c 2 -
FAIL xdr_u_char xdr.c 2 -
FAIL xdr_bool xdr.c 2 -
Conditional Pass xdr_enum xdr.c 4 -
FAIL xdr_opaque xdr.c 4 -
FAIL xdr_bytes xdr.c 7 -
Conditional Pass xdr_netobj xdr.c 2 -
FAIL xdr_union xdr.c 4 -
FAIL xdr_string xdr.c 8 -
FAIL xdr_wrapstring xdr.c 3 -
FAIL xdr_float xdr_floa.c 6 -
FAIL xdr_double xdr_floa.c 10 -
FAIL xdrmem_create xdr_mem.c 2 -
Conditional Pass xdrmem_destroy xdr_mem.c 1 -
FAIL xdrmem_getlong xdr_mem.c 6 -
FAIL xdrmem_putlong xdr_mem.c 6 -
FAIL xdrmem_getbytes xdr_mem.c 5 -
FAIL xdrmem_putbytes xdr_mem.c 5 -
Conditional Pass xdrmem_getpos xdr_mem.c 1 -
FAIL xdrmem_setpos xdr_mem.c 2 -
FAIL xdrmem_inline xdr_mem.c 1 -


Global Information

Source Files in Group

Name Last Modification Date
D:\Code\SAMATE\SATE2009\sate2009_C_test_cases\c\pvm\pvm3\xdr\xdr_mem.c Wed Feb 07 16:12:28 2001
D:\Code\SAMATE\SATE2009\sate2009_C_test_cases\c\pvm\pvm3\xdr\xdr_floa.c Fri Jun 27 14:47:31 1997
D:\Code\SAMATE\SATE2009\sate2009_C_test_cases\c\pvm\pvm3\xdr\xdr.c Fri Jun 27 14:47:28 1997




Global Basic Information

Number of procedures: 29
Number of locally uncalled procedures: 0
Number of reformatted executable lines: 948
Number of lines of comments: 566



Summary Report on all Program Components which FAIL



Globals / code outside procedures - FAIL

Standards Violation Summary - All files

Code File: Src Line Violation Standard
O xdr.c: 33 Non standard character @ in source. CERT MSC09-C
O xdr.c: 47 Name is used in standard libraries. CERT PRE04-C
O xdr.c: 47 Use of banned function or variable. CERT DCL03-C,INT06-C
O types.h: 36 Found #define. CERT PRE03-C
O types.h: 38 Found #define. CERT PRE03-C
M types.h: 38 Attempt to define reserved word. CERT ERR31-C
O types.h: 38 Macro contains unacceptable items CERT PRE03-C
O types.h: 39 Found #define. CERT PRE03-C
O types.h: 39 Macro contains unacceptable items CERT PRE03-C
O types.h: 41 Found #define. CERT PRE03-C
O types.h: 41 Define used for numeric constant. CERT DCL00-C
O types.h: 44 Found #define. CERT PRE03-C
O types.h: 44 Define used for numeric constant. CERT DCL00-C
O types.h: 46 Found #define. CERT PRE03-C
O types.h: 46 Macro replacement list needs parentheses. CERT PRE02-C
O types.h: 48 Found #define. CERT PRE03-C
O types.h: 48 Name is used in standard libraries. CERT PRE04-C
O types.h: 48 Define used for numeric constant. CERT DCL00-C
O types.h: 52 Use of banned function or variable. CERT DCL03-C,INT06-C
O types.h: 54 Found #define. CERT PRE03-C
O types.h: 54 Use of banned function or variable. CERT DCL03-C,INT06-C
O types.h: 54 Macro contains unacceptable items CERT PRE03-C
O types.h: 55 Found #define. CERT PRE03-C
O types.h: 57 Use of banned function or variable. CERT DCL03-C,INT06-C
O types.h: 57 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O types.h: 57 Macro replacement list needs parentheses. CERT PRE02-C
O types.h: 69 Found #define. CERT PRE03-C
O types.h: 75 Found #define. CERT PRE03-C
O types.h: 75 Define used for numeric constant. CERT DCL00-C
O xdr.h: 39 Found #define. CERT PRE03-C
O xdr.h: 51 Comment possibly contains code CERT MSC04-C
O xdr.h: 52 Comment possibly contains code CERT MSC04-C
O xdr.h: 77 Enum, struct or union not typedeffed. CERT DCL05-C
O xdr.h: 86 Found #define. CERT PRE03-C
O xdr.h: 86 Define used for numeric constant. CERT DCL00-C
O xdr.h: 87 Found #define. CERT PRE03-C
O xdr.h: 87 Use of function like macro. CERT PRE00-C
O xdr.h: 96 Comment possibly contains code CERT MSC04-C
O xdr.h: 109 Enum, struct or union not typedeffed. CERT DCL05-C
O xdr.h: 127 Comment possibly contains code CERT MSC04-C
O xdr.h: 128 Comment possibly contains code CERT MSC04-C
O xdr.h: 129 Comment possibly contains code CERT MSC04-C
O xdr.h: 130 Comment possibly contains code CERT MSC04-C
O xdr.h: 131 Comment possibly contains code CERT MSC04-C
O xdr.h: 134 Found #define. CERT PRE03-C
O xdr.h: 134 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 134 Use of function like macro. CERT PRE00-C
O xdr.h: 136 Found #define. CERT PRE03-C
O xdr.h: 136 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 136 Use of function like macro. CERT PRE00-C

Code File: Src Line Violation Standard
O xdr.h: 139 Found #define. CERT PRE03-C
O xdr.h: 139 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 139 Use of function like macro. CERT PRE00-C
O xdr.h: 141 Found #define. CERT PRE03-C
O xdr.h: 141 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 141 Use of function like macro. CERT PRE00-C
O xdr.h: 144 Found #define. CERT PRE03-C
O xdr.h: 144 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 144 Use of function like macro. CERT PRE00-C
O xdr.h: 146 Found #define. CERT PRE03-C
O xdr.h: 146 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 146 Use of function like macro. CERT PRE00-C
O xdr.h: 149 Found #define. CERT PRE03-C
O xdr.h: 149 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 149 Use of function like macro. CERT PRE00-C
O xdr.h: 151 Found #define. CERT PRE03-C
O xdr.h: 151 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 151 Use of function like macro. CERT PRE00-C
O xdr.h: 154 Found #define. CERT PRE03-C
O xdr.h: 154 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 154 Use of function like macro. CERT PRE00-C
O xdr.h: 156 Found #define. CERT PRE03-C
O xdr.h: 156 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 156 Use of function like macro. CERT PRE00-C
O xdr.h: 159 Found #define. CERT PRE03-C
O xdr.h: 159 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 159 Use of function like macro. CERT PRE00-C
O xdr.h: 161 Found #define. CERT PRE03-C
O xdr.h: 161 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 161 Use of function like macro. CERT PRE00-C
O xdr.h: 164 Found #define. CERT PRE03-C
O xdr.h: 164 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 164 Use of function like macro. CERT PRE00-C
O xdr.h: 166 Found #define. CERT PRE03-C
O xdr.h: 166 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 166 Use of function like macro. CERT PRE00-C
O xdr.h: 169 Found #define. CERT PRE03-C
O xdr.h: 169 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 169 Macro replacement list needs parentheses. CERT PRE02-C
O xdr.h: 169 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 172 Found #define. CERT PRE03-C
O xdr.h: 172 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 172 Macro replacement list needs parentheses. CERT PRE02-C
O xdr.h: 172 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 186 Found #define. CERT PRE03-C
O xdr.h: 186 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 187 Enum, struct or union not typedeffed. CERT DCL05-C
O xdr.h: 198 Comment possibly contains code CERT MSC04-C
O xdr.h: 207 Found #define. CERT PRE03-C
O xdr.h: 207 Use of function like macro. CERT PRE00-C

Code File: Src Line Violation Standard
O xdr.h: 207 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 208 Found #define. CERT PRE03-C
O xdr.h: 208 Macro parameter not in brackets. CERT PRE01-C,PRE02-C
O xdr.h: 208 Use of function like macro. CERT PRE00-C
O xdr.h: 208 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 210 Found #define. CERT PRE03-C
O xdr.h: 210 Use of function like macro. CERT PRE00-C
O xdr.h: 210 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 211 Found #define. CERT PRE03-C
O xdr.h: 211 Use of function like macro. CERT PRE00-C
O xdr.h: 212 Found #define. CERT PRE03-C
O xdr.h: 212 Use of function like macro. CERT PRE00-C
O xdr.h: 213 Found #define. CERT PRE03-C
O xdr.h: 213 Use of function like macro. CERT PRE00-C
O xdr.h: 213 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 214 Found #define. CERT PRE03-C
O xdr.h: 214 Use of function like macro. CERT PRE00-C
O xdr.h: 216 Found #define. CERT PRE03-C
O xdr.h: 216 Macro replacement list needs parentheses. CERT PRE02-C
O xdr.h: 216 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 217 Found #define. CERT PRE03-C
O xdr.h: 217 Macro replacement list needs parentheses. CERT PRE02-C
O xdr.h: 217 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 218 Found #define. CERT PRE03-C
O xdr.h: 218 Macro replacement list needs parentheses. CERT PRE02-C
O xdr.h: 218 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 219 Found #define. CERT PRE03-C
O xdr.h: 219 Macro replacement list needs parentheses. CERT PRE02-C
O xdr.h: 219 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 220 Found #define. CERT PRE03-C
O xdr.h: 220 Macro replacement list needs parentheses. CERT PRE02-C
O xdr.h: 220 Macro contains unacceptable items CERT PRE03-C
O xdr.h: 248 Comment possibly contains code CERT MSC04-C
O xdr.h: 252 Found #define. CERT PRE03-C
O xdr.h: 252 Define used for numeric constant. CERT DCL00-C
O xdr.h: 253 Enum, struct or union not typedeffed. CERT DCL05-C
O xdr.c: 55 Found #define. CERT PRE03-C
O xdr.c: 55 Macro contains unacceptable items CERT PRE03-C
O xdr.c: 56 Found #define. CERT PRE03-C
O xdr.c: 56 Macro contains unacceptable items CERT PRE03-C
O xdr.c: 57 Found #define. CERT PRE03-C
O xdr_floa.c: 31 Non standard character @ in source. CERT MSC09-C
O types.h: 52 Name is used in standard libraries. CERT PRE04-C
O xdr_floa.c: 71 Found #define. CERT PRE03-C
O xdr_floa.c: 72 Found #define. CERT PRE03-C
O xdr_floa.c: 174 Found #define. CERT PRE03-C
O xdr_floa.c: 175 Found #define. CERT PRE03-C
O xdr_floa.c: 176 Found #define. CERT PRE03-C
O xdr_mem.c: 31 Non standard character @ in source. CERT MSC09-C
O types.h: 36 Found #define. CERT PRE03-C

Code File: Src Line Violation Standard
O types.h: 38 Found #define. CERT PRE03-C
O types.h: 39 Found #define. CERT PRE03-C
O types.h: 41 Found #define. CERT PRE03-C
O types.h: 44 Found #define. CERT PRE03-C
O types.h: 46 Found #define. CERT PRE03-C
O types.h: 48 Found #define. CERT PRE03-C
O types.h: 54 Found #define. CERT PRE03-C
O types.h: 55 Found #define. CERT PRE03-C
O types.h: 69 Found #define. CERT PRE03-C
O types.h: 75 Found #define. CERT PRE03-C
O xdr.h: 39 Found #define. CERT PRE03-C
O xdr.h: 86 Found #define. CERT PRE03-C
O xdr.h: 87 Found #define. CERT PRE03-C
O xdr.h: 134 Found #define. CERT PRE03-C
O xdr.h: 136 Found #define. CERT PRE03-C
O xdr.h: 139 Found #define. CERT PRE03-C
O xdr.h: 141 Found #define. CERT PRE03-C
O xdr.h: 144 Found #define. CERT PRE03-C
O xdr.h: 146 Found #define. CERT PRE03-C
O xdr.h: 149 Found #define. CERT PRE03-C
O xdr.h: 151 Found #define. CERT PRE03-C
O xdr.h: 154 Found #define. CERT PRE03-C
O xdr.h: 156 Found #define. CERT PRE03-C
O xdr.h: 159 Found #define. CERT PRE03-C
O xdr.h: 161 Found #define. CERT PRE03-C
O xdr.h: 164 Found #define. CERT PRE03-C
O xdr.h: 166 Found #define. CERT PRE03-C
O xdr.h: 169 Found #define. CERT PRE03-C
O xdr.h: 172 Found #define. CERT PRE03-C
O xdr.h: 186 Found #define. CERT PRE03-C
O xdr.h: 207 Found #define. CERT PRE03-C
O xdr.h: 208 Found #define. CERT PRE03-C
O xdr.h: 210 Found #define. CERT PRE03-C
O xdr.h: 211 Found #define. CERT PRE03-C
O xdr.h: 212 Found #define. CERT PRE03-C
O xdr.h: 213 Found #define. CERT PRE03-C
O xdr.h: 214 Found #define. CERT PRE03-C
O xdr.h: 216 Found #define. CERT PRE03-C
O xdr.h: 217 Found #define. CERT PRE03-C
O xdr.h: 218 Found #define. CERT PRE03-C
O xdr.h: 219 Found #define. CERT PRE03-C
O xdr.h: 220 Found #define. CERT PRE03-C
O xdr.h: 252 Found #define. CERT PRE03-C
O xdr_mem.c: 55 Found #define. CERT PRE03-C

[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_u_long
(159 to 172 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 166 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 168 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_short
(177 to 201 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 187 Value is not of appropriate type. : long long long l = ( long CERT INT01-C,INT02-C,INT07-C
M 194 Value is not of appropriate type. : short long sp = ( short ) CERT INT01-C,INT02-C,INT07-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_u_short
(206 to 230 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 223 Value is not of appropriate type. : unsigned short unsigned long usp = ( u_short ) CERT INT01-C,INT02-C,INT07-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_char
(236 to 249 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 243 Type conversion without cast. : int char i = ( * cp CERT INT02-C,INT31-C
M 247 Type conversion without cast. : char int cp = i CERT INT02-C,INT31-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_u_char
(254 to 267 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 261 Type conversion without cast. : unsigned int char u = ( * cp CERT INT02-C,INT31-C
M 265 Type conversion without cast. : char unsigned int cp = u CERT INT02-C,INT31-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_bool
(272 to 296 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 282 Type conversion without cast. : long bool lb = *bp CERT INT02-C,INT31-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_opaque
(330 to 375 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 337 Declaration is missing type. CERT DCL31-C
M 342 Signed/unsigned conversion without cast. : unsigned int int cnt CERT INT02-C,INT31-C,STR34-C
M 349 Signed/unsigned conversion without cast. : unsigned int int rndup CERT INT02-C,INT31-C,STR34-C
M 356 Signed/unsigned conversion without cast. : unsigned int int rndup CERT INT02-C,INT31-C,STR34-C
M 365 Signed/unsigned conversion without cast. : unsigned int int rndup CERT INT02-C,INT31-C,STR34-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_bytes
(382 to 436 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 409 Signed/unsigned conversion without cast. : unsigned int int nodesize CERT INT02-C,INT31-C,STR34-C
M 413 Pointer assignment to wider scope. CERT DCL30-C,MEM36-C
M 413 Modification of string literal. CERT STR05-C,STR30-C
M 413 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 419 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 430 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 430 free parameter is not heap item. CERT MEM34-C
M 395 Actual and formal parameters inconsistent (MR). CERT EXP37-C
M 426 Actual and formal parameters inconsistent (MR). CERT EXP37-C
M 413 Actual and formal parameters inconsistent (MR). CERT EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_union
(461 to 493 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 485 Value is not of appropriate type. : unsigned int signed char ( u_int ) 0 CERT INT01-C,INT02-C,INT07-C
M 491 Value is not of appropriate type. : bool unsigned char ( 0 CERT INT01-C,INT02-C,INT07-C
M 492 Value is not of appropriate type. : unsigned int signed char ( u_int ) 0 CERT INT01-C,INT02-C,INT07-C
M 474 Actual and formal parameters inconsistent (MR). CERT EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_string
(510 to 572 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 530 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 547 Signed/unsigned conversion without cast. : unsigned int int nodesize CERT INT02-C,INT31-C,STR34-C
M 551 Pointer assignment to wider scope. CERT DCL30-C,MEM36-C
M 551 Modification of string literal. CERT STR05-C,STR30-C
M 551 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 556 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 560 Modification of string literal. CERT STR05-C,STR30-C
M 567 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 567 free parameter is not heap item. CERT MEM34-C
M 533 Actual and formal parameters inconsistent (MR). CERT EXP37-C
M 564 Actual and formal parameters inconsistent (MR). CERT EXP37-C
M 551 Actual and formal parameters inconsistent (MR). CERT EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_wrapstring
(578 to 587 xdr.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 583 Value is not of appropriate type. : unsigned int signed char ( u_int ) 0 CERT INT01-C,INT02-C,INT07-C
M 583 Actual and formal parameters inconsistent (MR). CERT EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_float
(85 to 149 xdr_floa.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 103 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 104 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 118 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 125 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 126 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 128 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdr_double
(191 to 275 xdr_floa.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 210 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 211 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 225 function call with no prior declaration. CERT EXP37-C
M 225 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 227 function call with no prior declaration. CERT EXP37-C
M 227 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 230 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 235 Use of ++,-- or = in macro parameters. CERT PRE31-C
M 235 Deprecated usage of ++ or -- operators found. CERT EXP30-C,EXP31-C
M 246 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 247 Use of ++,-- or = in macro parameters. CERT PRE31-C
M 247 Deprecated usage of ++ or -- operators found. CERT EXP30-C,EXP31-C
M 249 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 261 function call with no prior declaration. CERT EXP37-C
M 261 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C
M 267 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdrmem_create
(85 to 97 xdr_mem.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 95 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 96 Type conversion without cast. : void int xdrs -> x_handy = size CERT INT02-C,INT31-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdrmem_getlong
(105 to 116 xdr_mem.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 111 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 113 Value is not of appropriate type. : long long long lp = ( long CERT INT01-C,INT02-C,INT07-C
M 113 function call with no prior declaration. CERT EXP37-C
M 113 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdrmem_putlong
(118 to 129 xdr_mem.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 124 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 126 Casting operation on a pointer. CERT EXP11-C,EXP36-C,INT11-C
M 126 Value is not of appropriate type. : long long * ) xdrs -> x_private = ( long CERT INT01-C,INT02-C,INT07-C
M 126 function call with no prior declaration. CERT EXP37-C
M 126 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdrmem_getbytes
(131 to 143 xdr_mem.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 138 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 138 Type conversion without cast. : bool int ( xdrs -> x_handy -= len CERT INT02-C,INT31-C
M 140 function call with no prior declaration. CERT EXP37-C
M 140 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdrmem_putbytes
(145 to 157 xdr_mem.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 152 Assignment operation in expression. CERT PRE31-C,EXP30-C,EXP31-C,FIO41-C
M 152 Type conversion without cast. : bool int ( xdrs -> x_handy -= len CERT INT02-C,INT31-C
M 154 function call with no prior declaration. CERT EXP37-C
M 154 Procedure call has no prototype and no defn. CERT DCL07-C,EXP37-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdrmem_setpos
(167 to 180 xdr_mem.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 178 Value is not of appropriate type. : bool int xdrs -> x_handy = ( int CERT INT01-C,INT02-C,INT07-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]






xdrmem_inline
(182 to 195 xdr_mem.c) - FAIL

Standards Violation Summary

Code Line Violation Standard
M 194 Pointer assignment to wider scope. CERT DCL30-C,MEM36-C


[ Top of Report | Key to Terms | Procedure Table | Contents ]




Key to Terms


Standards violations for procedures are printed in tables with code markers as follows:


Code (Line) Violation Standard
M (Source line number) [Text of Mandatory standard] [Appropriate rule reference]
C   [Text of Checking standard]  
O   [Text of Optional standard]  
[Source: Text of line from Source file]


                         Checking standards are considered mandatory but individual instances may be overridden by adding annotations to the source code
                         Optional standards provide additional quality criteria but may be violated

                         For some standards violations, additional information is provided in results tables
                         Note that source lines do not show macro expansions

                         "Off" in Summary tables indicates that a standard is switched off in the pen.dat file
                         "MR" in Summary tables indicates a MISRA Restricted standard which cannot be checked without the MISRA licence option.


A summary is given of the pass/fail result of each program component as follows:


Components which pass all standards are marked: Pass
Components which fail only Optional standards are marked: Conditional Pass
Components which fail on insufficient comments only are marked: Comment FAIL
Components which violate Mandatory standards are marked: FAIL



Procedure Results table breakdown (Example Only)


Unique Violations    
     
65 - 150
35 - 39 -



                         The Violation density for a function is the number of violations per reformatted line, expressed as a percentage.
                         It is an indication of code quality.

                         Functions with a high violation density are likely to be smaller functions with a large number of violations.

                         Lower density may indicate larger functions with fewer violations.

                                        (nViols / nRefLines) x 100

                         where:

                                        nViols = number of standard violations in a function.

                         and:

                                        nRefLines = number of reformatted lines in a function.

                         The unique standards failure ratio is an indication of variety of standards violations in a module.

                         Thus a function containing one instance of several different standards will have a high ratio,
                         while a function that has violated only one standards will have a low ratio.


[ Top of Report | Procedure Table | Contents ]


End of Code Review Report

Copyright © 2009 Liverpool Data Research Associates